const express = require('express');
const path = require('path');
// 将数据库模块引入
const db = require('./db/index');
// 引入body-parser去处理req.body获取不到的问题
const body_parser = require('body-parser');
// 将路由器模块引入
const register_login = require('./routes/register_login');
const stu_info = require('./routes/stu_info');
const entry_exam = require('./routes/entry_exam');
const app = express();
// 暴露静态资源
app.use(express.static(path.join(__dirname,'public')));
// 将post请求中的数据挂载到req.body
app.use(body_parser.urlencoded({
    extended:true
}))

// 中间件确保数据库连接成功
app.use('/',async(req,res,next)=>{
    await db;
    // 解决跨域
    res.setHeader('Access-Control-Allow-Origin',"*");
    next();
})
// 应用路由
app.use(register_login);
app.use(stu_info);
app.use(entry_exam);

app.listen(8080,err=>{
    if(!err) console.log('服务器启动成功！！');
    else console.log(err);
})



/* 
1.创建服务器
npm init  初始化package.json
npm i -S express 下载express  
npm i -D nodemon  下载nodemon  自动启动
2.连接数据库
借助mongoose包
npm i -S mongoose@5 
在db文件夹中连接数据库  同app.js没有关系 建立关系

连接数据成功  创建约束条件  存储数据 对数据进行增删改查



注册登录的逻辑
注册 输入用户名密码 进行注册 
收集用户名密码 ajax传递给服务器 服务器将数据存储到数据库

注册是一个路由

一个项目 数据库中可能有很多集合 每一个集合中都有多条数据
每一个集合都要对应一个约束条件
*/


/* 
将两个表中的数据联合起来
stu_infos  学号 姓名 性别 年龄 籍贯 爱好
entry_exam  学号 姓名  语文 数学 英语 文综 理综 平均成绩 总分



*/